/*
 * 作者：勤为本
 * 勤为本的小店：https://shop333183734.taobao.com/
 */


#ifndef __MPU6050_H
#define __MPU6050_H


#include <types.h>


/*
 * MPU6050初始化
 * @ret 成功 or 失败
 */
int mpu6050_init(void);


/*
 * 通过i2c从mpu6050的指定的寄存器地址读出指定长度的数据
 * @slave_addr i2c从机地址
 * @reg_addr 寄存器地址
 * @len 需要读出的数据长度
 * @buf 存放数据的缓存
 */
inline int mpu6050_i2c_read_bytes(u8 slave_addr, u8 reg_addr, u8 len, u8 *buf);


/*
 * 通过i2c向指定地址写入指定长度的指定数据
 * @slave_addr i2c从机地址
 * @reg_addr 寄存器地址
 * @len 需要写入的长度
 * @buf 待写入的数据
 */
inline int mpu6050_i2c_write_bytes(u8 slave_addr, u8 reg_addr, u8 len, u8 *buf);



// 获取原始数据
void mpu6050_original_data(void);


// 读取DMP值
void mpu6050_dmp_read(void);



// 测试mpu6050是否正常工作
void mpu6050_test(void);


#endif


